package voucher_creator;

import java.io.IOException;

import voucher_creator.file_handler.FileHandler;
import voucher_creator.write.ListWriter;
import voucher_creator.write.VoucherWriter;

public class VoucherCreator {
	
	private FileHandler file_handler;
	private VoucherWriter omnibusWriter;
	private ListWriter formWriter;
	
	public VoucherCreator() {
		this.file_handler = new FileHandler();
		this.omnibusWriter = new VoucherWriter();
		this.formWriter = new ListWriter();
	}

	public void createVoucher(String nombre_pasajero, String dni_pasajero,
			String empresa, String destino, String fecha_salida, String hotel,
			String regimen, String hora_presentacion, String hora_salida,
			String lugar_salida) throws IOException {

		String excel_file = file_handler.prepareVoucher(nombre_pasajero,
				destino, fecha_salida);

		if (excel_file.equals("")) {
			throw new IOException("voucher_base tiene nombre vacio");
		}

		omnibusWriter.writeVoucher(excel_file, empresa, nombre_pasajero,
				dni_pasajero, destino, fecha_salida, hotel, regimen,
				hora_presentacion, hora_salida, lugar_salida);
	}
	
	public void insertIntoList(String nombre_pasajero, String dni_pasajero, 
			String fecha_nac, String empresa, String destino, String fecha_salida) {
		
		String excel_list = file_handler.findList(empresa, destino, fecha_salida);

		if(excel_list.equals("")) {
			excel_list = file_handler.createList(empresa, destino, fecha_salida);
			formWriter.writeData(excel_list, destino, fecha_salida);
		}
		
		formWriter.writeList(excel_list, nombre_pasajero, dni_pasajero, fecha_nac);
	}
}
